int main( int argc, char** argv ) {
    Agent* a = Agent::create( router );
    for ( ;; ) {
        a->recv();
        a->send();
    }
    return 0;
}